home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / graphic / tweak16b.zip / TWEAK2C.CPP < prev    next >
C/C++ Source or Header  |  1993-11-29  |  1KB  |  59 lines

  1. /*
  2.     TWEAK2C version 1.0
  3.     by Robert Schmidt of Ztiff Zox Softwear 1993
  4.  
  5.     Converts a TWEAK version 1.0 file to an #include-able C file
  6.     defining the equivalent Register array, which is directly
  7.     passable to the outRegArray() function defined in the TwkUser
  8.     module.
  9. */
  10.  
  11. #include <stdio.h>
  12. #include <stdlib.h>
  13. #include <fstream.h>
  14.  
  15. extern "C"
  16.     {
  17.     #include "TwkUser.h"
  18.     }
  19.  
  20. main(int argc, char **argv)
  21.     {
  22.     if (argc < 4)
  23.         {
  24.         printf("TWEAK2C version 1.0\n"
  25.                "by Robert Schmidt of Ztiff Zox Softwear 1993\n"
  26.                "Converts a TWEAK version 1.x file to an #include-able C file.\n"
  27.                "\n"
  28.                            "Syntax:  TWEAK2C <TWEAK-file> <C file to create> <array name>\n"
  29.                "All parameters are required.\n"
  30.                );
  31.  
  32.         return 0;
  33.         }
  34.  
  35.     Register *table;
  36.     int regs = loadRegArray(argv[1], &table);
  37.     if (!table)
  38.         return 1;            // loadRegArray provides error message
  39.  
  40.     ofstream out(argv[2], ios::out | ios::trunc);
  41.  
  42.     out << "#include \"TwkUser.h\" // get Register definition" << endl;
  43.     out << "Register " << argv[3] << "[] =" << endl;
  44.     out << "\t{" << hex << endl;
  45.  
  46.     Register *reg = table;
  47.     while (regs--)
  48.         {
  49.         out << "\t{ 0x" << reg->port << ", 0x" << int(reg->index)
  50.             << ", 0x" << int(reg->value) << (regs?"},\n":"}\n");
  51.         reg++;
  52.         }
  53.     out << "\t};" << endl;
  54.  
  55.     free(table);
  56.  
  57.     return 0;
  58.     }
  59.